1. Field of the Invention
The present invention relates to a sampling frequency converter for converting input data sampled at a sampling frequency M into data sampled at a sampling frequency N.
2. Description of the Related Art
A conventional sampling frequency converter converts input data sampled at a sampling frequency M into data sampled at a sampling frequency N, by interpolating [(J/M)-1] zero data between the input data, supplying the interpolated data to a non-cyclic low-pass filter with i taps to over-sample it (J/M) times, and down-sampling the over-sampled data to obtain data every N-th, where J is the least common denominator.
A conventional technique of converting a sampling frequency will be described, wherein input data sampled at a sampling frequency 32 kHz is converted into data sampled at a sampled frequency 48 kHz, by using a non-cyclic digital low-pass filter having 150 taps.
Input data Xi (i=0, 1, 2, . . . ) shown in FIG. 5(a) sampled at a sampling frequency 32 kHz is supplied to a zero interpolating circuit So shown in FIG. 3. The zero interpolating circuit So is constructed of a selector for selecting either the input data or zero data in response to clocks of 32 kHz, and interpolates two zeros between each input data. The interpolated input data is sampled at a sampling frequency 96 kHz to obtain data shown in FIG. 5(b). The data shown in FIG. 5(b) and indicated by arrows corresponds to the data to be subjected to each operation of multiplications and additions.
A low-pass filter LPF.sub.1 is constructed of a memory 2, multipliers M.sub.0, M.sub.1, . . . , M.sub.149, an adder A.sub.1 for adding the outputs of the multipliers, and a sampler S.sub.1 for sampling an output of the adder A.sub.1 at a sampling frequency 96 kHz. The data from the zero interpolation circuit SO including 150 data elements (X.sub.149, . . . , X.sub.2, X.sub.1, x.sub.0) inclusive of interpolated zero data is sequentially pushed and stored in the memory 2 in response to clocks of the sampling frequency 96 kHz. The stored data of 150 data elements is read in parallel in response to clocks of the sampling frequency 96 kHz. The multipliers multiply each data element by a corresponding one of coefficients h.sub.0, h.sub.1, h.sub.2, he.sub.3, . . . , h.sub.149. An output of the low-pass filter LPF.sub.1 is supplied to a sampler S.sub.2, and down-sampled at a sampling clock of 48 kHz which is one half of 96 kHz (the outputs from the low-pass filter are thinned every second). In this manner, the sampling frequency is converted according to the conventional technique. The larger the suffix i of the input data element Xi, the newer the data element in the time domain.
For the conventional sampling frequency conversion, the following operation of multiplications and additions is carried out by the multipliers M.sub.0, ##EQU1##
The calculated data d.sub.0, d.sub.1, d.sub.2, d.sub.3, . . . are down-sampled to obtain the data, thinned every second, d.sub.0, d.sub.2, d.sub.4, . . . which are outputted as final data Y.sub.0 (=d.sub.0), Y.sub.1 (=d.sub.2), Y.sub.2 (=d.sub.4), Y.sub.3 (=d.sub.6) , , , .
The frequency spectra of the input data are shown in FIG. 4(a-1). The input data interpolated with zero, data and its frequency spectra are shown in FIG. 4(b) and 4(b1 ), with no difference between spectra of the original data and interpolated data. The output data from the sampler S.sub.1 and its frequency spectra are shown in FIG. 4(c). The data down-sampled by the sampler S.sub.2 and its frequency spectra are shown in FIGS. 4(d) and 4(d-1). The sampling frequency conversion from 32 kHz to 48 kHz is thus obtained as seen from the above frequency spectra.
With the above-described conventional method, the non-cyclic digital low-pass filter LPF.sub.1 is required to perform an operation of multiplications and additions 150 times for each data train shown in FIG. 5(b) at the time interval of 1/(3*32 kHz)=10.4 .mu.s, and the memory 2 is required to store 150 data elements. Therefore, the conventional method is associated with a problem of a large amount of hardware.